package com.arsn.myf.system.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.springframework.format.annotation.DateTimeFormat;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 错误日志对象
 *
 * @author zhongrj
 * @date 2022-12-12 20:18:48
 */
@Data
@TableName("sys_log_error")
@ApiModel(value = "LogError对象", description = "LogError对象")
public class ErrorLog implements Serializable{

    private static final long serialVersionUID = 1L;

    /**
    * 主键id
    */
    @TableId(value = "id",type = IdType.ASSIGN_ID)
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "主键id")
    private Long id;

    /**
    * 服务器名
    */
    @ApiModelProperty(value = "服务器名")
    private String serverHost;

    /**
    * 服务器IP地址
    */
    @ApiModelProperty(value = "服务器IP地址")
    private String serverIp;

    /**
    * 系统环境
    */
    @ApiModelProperty(value = "系统环境")
    private String env;

    /**
    * 操作方式
    */
    @ApiModelProperty(value = "操作方式")
    private String method;

    /**
    * 请求URI
    */
    @ApiModelProperty(value = "请求URI")
    private String requestUri;

    /**
    * 堆栈
    */
    @ApiModelProperty(value = "堆栈")
    private String stackTrace;

    /**
    * 异常名
    */
    @ApiModelProperty(value = "异常名")
    private String exceptionName;

    /**
    * 异常信息
    */
    @ApiModelProperty(value = "异常信息")
    private String message;

    /**
    * 错误行数
    */
    @ApiModelProperty(value = "错误行数")
    private Integer lineNumber;

    /**
    * 操作IP地址
    */
    @ApiModelProperty(value = "操作IP地址")
    private String remoteIp;

    /**
    * 方法类
    */
    @ApiModelProperty(value = "方法类")
    private String methodClass;

    /**
    * 方法名
    */
    @ApiModelProperty(value = "方法名")
    private String methodName;

    /**
    * 操作提交的参数数据
    */
    @ApiModelProperty(value = "操作提交的参数数据")
    private String requestParam;

    /**
    * 操作人
    */
    @ApiModelProperty(value = "操作人")
    private String createBy;

    /**
    * 创建时间
    */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

}
